﻿using System;
using System.Reflection;

// Person 类定义
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }

    // 为了演示，重写ToString方法
    public override string ToString()
    {
        return $"Name: {Name}, Age: {Age}";
    }
}

class Program
{
    static void Main(string[] args)
    {
        // 使用反射获取Person类的Type对象
        Type personType = typeof(Person);
        
        // 获取Person类的指定构造函数
        ConstructorInfo constructor = personType.GetConstructor(new Type[] { typeof(string), typeof(int) });
        
        // 使用反射调用构造函数，创建Person类的实例
        if (constructor != null)
        {
            object personInstance = constructor.Invoke(new object[] { "张三", 30 });
            Console.WriteLine(personInstance.ToString());
        }
        else
        {
            Console.WriteLine("未能找到匹配的构造函数。");
        }
    }
}
